package com.liuyucheng.generic.eraser;

import java.util.List;

/**
 * 如果只声明<T>，编译时会进行无限制的类型擦除，JVM编译之后，key的类型为Object
 * 如果<T extends Number>，是有限制的类型擦除，编译后变为Number类型
 * @param <T>
 */
public class Eraser<T extends Number> {
    private T key;

    public void setKey(T key) {
        this.key = key;
    }

    public T getKey() {
        return key;
    }

    private <T extends List> T show(T t){
        return t;
    }
}
